package Test;

/**
 * @author StarryHorizon
 * @create 2022-01-17 16:14
 */

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

import java.util.List;

/**
 * 用XPath方式解析XML文件
 */
public class TestXML {

    /**
     * 使用selectNodes()获取所有指定名称的节点
     */

    public static void main(String[] args) throws DocumentException {


        //1.创建XML解析对象
        SAXReader reader = new SAXReader();

        //2.解析XML文档对象
        Document document = reader.read("D:\\Java\\jdbc_task07\\resources\\book.xml");

        //3.获取id值为book01的节点中的所有内容
        List<Node> list1 = document.selectNodes("/books/book[@id='01']//*");
        for (Node node : list1) {
            System.out.println(node.getName() + "=" + node.getText());
        }

        System.out.println();
        //3.获取id值为book02的节点中的所有内容
        List<Node> list2 = document.selectNodes("/books/book[@id='02']//*");
        for (Node node : list2) {
            System.out.println(node.getName() + "=" + node.getText());
        }

        System.out.println();
        //3.获取id值为book03的节点中的所有内容
        List<Node> list3 = document.selectNodes("/books/book[@id='03']//*");
        for (Node node : list3) {
            System.out.println(node.getName() + "=" + node.getText());
        }



    }
}
